knitr::opts_chunk$set(
warning = TRUE, # show warnings during codebook generation
message = TRUE, # show messages during codebook generation
error = TRUE, # do not interrupt codebook generation in case of errors,
# usually better for debugging
echo = TRUE # show R code
)
ggplot2::theme_set(ggplot2::theme_bw())
pander::panderOptions("table.split.table", Inf)
library(codebook)
library(labelled)
#codebook_data <- codebook::bfi
# to import an SPSS file from the same folder uncomment and edit the line below
# codebook_data <- rio::import("mydata.sav")
# for Stata
# codebook_data <- rio::import("mydata.dta")
# for CSV
codebook_data <- rio::import("offline_data.csv")
# omit the following lines, if your missing values are already properly labelled
codebook_data <- detect_missing(codebook_data,
only_labelled = TRUE, # only labelled values are autodetected as
# missing
negative_values_are_missing = FALSE, # negative values are missing values
ninety_nine_problems = TRUE # 99/999 are missing values, if they
# are more than 5 MAD from the median
)
# If you are not using formr, the codebook package needs to guess which items
# form a scale. The following line finds item aggregates with names like this:
# scale = scale_1 + scale_2R + scale_3R
# identifying these aggregates allows the codebook function to
# automatically compute reliabilities.
# However, it will not reverse items automatically.
#codebook_data <- detect_scales(codebook_data)
# label variables correctly
#
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#### removing doubled column baby anchoring and scale mean scores, as the latter are created anyways ####
drop <- c("anc_baby", "E", "A", "C", "N", "O", "soc_d_mean")
codebook_data = codebook_data[ , !(names(codebook_data) %in% drop)]
var_label(codebook_data) <- list(
gender = "Reported gender information",
acad_status = "Academic status",
age = "Age Group",
refused = "Refused participation after consent",
reason = "Reason for refusal",
consent = "Data sharing policy in consent",
bf_1 = "Big 5 Extraversion item 1",
bf_2 = "Big 5 Agreeableness item 2",
bf_3 = "Big 5 Conscientiousness item 3",
bf_4 = "Big 5 Neuroticism item 4",
bf_5 = "Big 5 Openness to experience item 5",
bf_6 = "Big 5 Extraversion item 6",
bf_7 = "Big 5 Agreeableness item 7",
bf_8 = "Big 5 Conscientiousness item 8",
bf_9 = "Big 5 Neuroticism item 9",
bf_10 = "Big 5 Openness to experience item 10",
bf_11 = "Big 5 Extraversion item 11",
bf_12 = "Big 5 Agreeableness item 12",
bf_13 = "Big 5 Conscientiousness item 13",
bf_14 = "Big 5 Neuroticism item 14",
bf_15 = "Big 5 Openness to experience item 15",
bf_16 = "Big 5 Extraversion item 16",
bf_17 = "Big 5 Agreeableness item 17",
bf_18 = "Big 5 Conscientiousness item 18",
bf_19 = "Big 5 Neuroticism item 19",
bf_20 = "Big 5 Openness to experience item 20",
bf_21 = "Big 5 Extraversion item 21",
bf_22 = "Big 5 Agreeableness item 22",
bf_23 = "Big 5 Conscientiousness item 23",
bf_24 = "Big 5 Neuroticism item 24",
bf_25 = "Big 5 Openness to experience item 25",
bf_26 = "Big 5 Extraversion item 26",
bf_27 = "Big 5 Agreeableness item 27",
bf_28 = "Big 5 Conscientiousness item 28",
bf_29 = "Big 5 Neuroticism item 29",
bf_30 = "Big 5 Openness to experience item 30",
bf_31 = "Big 5 Extraversion item 31",
bf_32 = "Big 5 Agreeableness item 32",
bf_33 = "Big 5 Conscientiousness item 33",
bf_34 = "Big 5 Neuroticism item 34",
bf_35 = "Big 5 Openness to experience item 35",
bf_36 = "Big 5 Extraversion item 36",
bf_37 = "Big 5 Agreeableness item 37",
bf_38 = "Big 5 Conscientiousness item 38",
bf_39 = "Big 5 Neuroticism item 39",
bf_40 = "Big 5 Openness to experience item 40",
bf_41 = "Big 5 Openness to experience item 41",
bf_42 = "Big 5 Agreeableness item 42",
bf_43 = "Big 5 Conscientiousness item 43",
bf_44 = "Big 5 Openness to experience item 44",
bf_45 = "Big 5 Agreeableness item 45",
cr_1 = "Careless response item 1",
cr_2 = "Careless response item 2",
cr_3 = "Careless response item 3",
cr_4 = "Careless response item 4",
cr_5 = "Careless response item 5",
cr_6 = "Careless response item 6",
cr_7 = "Careless response item 7",
soc_d_1 = "Social desirability item 1",
soc_d_2 = "Social desirability item 2",
soc_d_3 = "Social desirability item 3",
soc_d_4 = "Social desirability item 4",
soc_d_5 = "Social desirability item 5",
soc_d_6 = "Social desirability item 6",
soc_d_7 = "Social desirability item 7",
soc_d_8 = "Social desirability item 8",
soc_d_9 = "Social desirability item 9",
soc_d_10 = "Social desirability item 10",
soc_d_11 = "Social desirability item 11",
soc_d_12 = "Social desirability item 12",
soc_d_13 = "Social desirability item 13",
soc_d_14 = "Social desirability item 14",
soc_d_15 = "Social desirability item 15",
soc_d_16 = "Social desirability item 16",
soc_d_17 = "Social desirability item 17",
soc_d_18 = "Social desirability item 18",
cond_anc = "Anchoring condition",
anc_everest = "Anchoring: How high is Mount Everest",
anc_chicago = "Anchoring: Population of Chicagor",
anc_bebe = "Anchoring: Babies born in US",
mc_1 = "Manipulation check, question 1: 'Do you remember the consent you signed in the beginning?'",
mc_2 = "Manipulation check, question 2: 'Do you remember if the consent contained the topic of sharing anonymous data with others?' ",
mc_3 = "Manipulation check, question: 'Will your anonymous data be shared with others?'",
# mc_1",
# mc_2",
# mc_3",
remarks = "Observer remarks"#,
# anc_baby",
# E = "Mean score on Extraversion subscale",
# A = "Mean score on Agreeableness subscale",
# C = "Mean score on Conscientiousness subscale",
# N = "Mean score on Neuroticism subscale",
# O = "Mean score on Openness to experience subscale",
# soc_d_mean = "Mean score on Social desirability scale"
)
val_labels(codebook_data$gender) <- c("Female" = 1, "Male" = 2)
val_labels(codebook_data$acad_status) <- c("other" = 0, "bachelor" = 1, "master" = 2, "PhD" = 3, "other" = 4)
val_labels(codebook_data$age) <- c("18-29 yo" = 1, "21-25 yo" = 2, "26-30 yo" = 3, "31-35 yo" = 4, "36-40 yo" = 5, "41-50 yo" = 6, "51-60 yo" = 7, "61-70 yo" = 8, "71-80 yo" = 9, "81-110 yo" = 10)
val_labels(codebook_data$refused) <- c("No" = 0, "Yes" = 1)
val_labels(codebook_data$consent) <- c("Data will be shared" = "A", "Data will not be shared" = "B")
val_labels(codebook_data$cond_anc) <- c("Low anchoring value" = 0, "High anchoring value" = 1)
val_labels(codebook_data$reason) <- c("Not refused" = 0, "Data sharing" = 1, "Not enough time" = 2, "Other" = 3)
val_labels(codebook_data$mc_1) <- c("Yes" = 1, "No" = 0)
val_labels(codebook_data$mc_2) <- c("Yes" = 1, "No" = 0)
val_labels(codebook_data$mc_3) <- c("Yes" = 1, "No" = 0)
add_likert_labels <- function(x) {
val_labels(x) <- c("Disapprove strongly" = 1,
"Disapprove slightly" = 2,
"Neither approve nore disapprove" = 3,
"Approve slightly" = 4,
"Approve strongly" = 5)
x
}
likert_items <- names(codebook_data[, c(10:79) ])
codebook_data <- codebook_data %>% mutate_at(likert_items, add_likert_labels)
#### Extraversion ####
codebook_data$Extraversion <- codebook_data %>% select("bf_1", "bf_6", "bf_11", "bf_16", "bf_21", "bf_26",
"bf_31", "bf_36") %>% aggregate_and_document_scale()
reversed_items <- c("bf_6", "bf_21", "bf_31")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$Extraversion <- codebook_data %>% select("bf_1", "bf_6R", "bf_11", "bf_16", "bf_21R", "bf_26",
"bf_31R", "bf_36") %>% aggregate_and_document_scale()
#### Agreeableness ####
codebook_data$Agreeableness <- codebook_data %>% select("bf_2", "bf_7", "bf_12", "bf_17", "bf_22",
"bf_27", "bf_32", "bf_37", "bf_42", "bf_45") %>% aggregate_and_document_scale()
reversed_items <- c("bf_2", "bf_12", "bf_27", "bf_37", "bf_45")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$Agreeableness <- codebook_data %>% select("bf_2R", "bf_7", "bf_12R", "bf_17", "bf_22",
"bf_27R", "bf_32", "bf_37R", "bf_42", "bf_45R") %>% aggregate_and_document_scale()
#### Conscientiousness ####
codebook_data$Conscientiousness <- codebook_data %>% select("bf_3", "bf_8","bf_13", "bf_18", "bf_23", "bf_28",
"bf_33", "bf_38", "bf_43") %>% aggregate_and_document_scale()
reversed_items <- c("bf_8", "bf_18", "bf_23", "bf_38", "bf_43")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$Conscientiousness <- codebook_data %>% select("bf_3", "bf_8R","bf_13", "bf_18R", "bf_23R", "bf_28",
"bf_33", "bf_38R", "bf_43R") %>% aggregate_and_document_scale()
#### Neuroticism ####
codebook_data$Neuroticism <- codebook_data %>% select("bf_4", "bf_9", "bf_14", "bf_19", "bf_24", "bf_29",
"bf_34", "bf_39") %>% aggregate_and_document_scale()
reversed_items <- c("bf_9", "bf_24", "bf_34")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$Neuroticism <- codebook_data %>% select("bf_4", "bf_9R", "bf_14", "bf_19", "bf_24R", "bf_29",
"bf_34R", "bf_39") %>% aggregate_and_document_scale()
#### Openness to experience ####
codebook_data$'Openness to experience' <- codebook_data %>% select("bf_5", "bf_10", "bf_15", "bf_20", "bf_25", "bf_30",
"bf_35", "bf_40", "bf_41", "bf_44") %>% aggregate_and_document_scale()
reversed_items <- c("bf_35", "bf_41")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$'Openness to experience' <- codebook_data %>% select("bf_5", "bf_10", "bf_15", "bf_20", "bf_25", "bf_30",
"bf_35R", "bf_40", "bf_41R", "bf_44") %>% aggregate_and_document_scale()
#### Hétéroduperie/Social Desirability ####
codebook_data$'Heteroduperie - Social Desirability' <- codebook_data %>% select("soc_d_1",
"soc_d_2", "soc_d_3", "soc_d_4","soc_d_5", "soc_d_6",
"soc_d_7", "soc_d_8", "soc_d_9", "soc_d_10",
"soc_d_11", "soc_d_12", "soc_d_13", "soc_d_14",
"soc_d_15", "soc_d_16", "soc_d_17", "soc_d_18") %>% aggregate_and_document_scale()
reversed_items <- c("soc_d_2", "soc_d_4", "soc_d_5", "soc_d_7",
"soc_d_10", "soc_d_11", "soc_d_13", "soc_d_14",
"soc_d_17")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$'Heteroduperie - Social Desirability' <- codebook_data %>% select("soc_d_1",
"soc_d_2R", "soc_d_3", "soc_d_4R", "soc_d_5R",
"soc_d_6", "soc_d_7R", "soc_d_8", "soc_d_9",
"soc_d_10R", "soc_d_11R", "soc_d_12", "soc_d_13R",
"soc_d_14R", "soc_d_15", "soc_d_16", "soc_d_17R",
"soc_d_18") %>% aggregate_and_document_scale()
metadata(codebook_data)$name <- "French-Belgian Student data on Big 5, Social Desirability as measured by Heteroduperie and Anchoring Paradigm, entire data set"
metadata(codebook_data)$description <- "45 items taking from the french translation of the Big 5 Personality questionnaire (Plaisant et al. 2010), 18 items from the subscale 'Hétéroduperie' of the french social desirability scale (Tournois et al., 2010) and 3 Anchoring paradigm items as used in the ManyLabs replication project (Klein et al., 2014). Also includes 7 careless response items based on Meade and Craig (2012)"
metadata(codebook_data)$identifier <- "https://dx.doi.org/10.17605/OSF.IO/X25D3"
metadata(codebook_data)$creator <- "Julia C. Eberlen, Emmanuel Nicaise, Sarah Leveaux, Youri L. Mora, Olivier Klein"
metadata(codebook_data)$citation <- "Eberlen, J. C., Nicaise, E., Leveaux, S., Mora, Y., & Klein, O. (2019, August 5). Impact of Data sharing: Data collected offline. https://doi.org/10.17605/OSF.IO/X25D3"
metadata(codebook_data)$datePublished <- "2019-08-05"
metadata(codebook_data)$temporalCoverage <- "2018-12-03 to 2018-12-17"
metadata(codebook_data)$spatialCoverage <- "Campus Solbosch, Universite libre de Bruxelles, Brussels, Belgium"
codebook(codebook_data)
knitr::asis_output(data_info)
if (exists("name", meta)) {
glue::glue(
"__Dataset name__: {name}",
.envir = meta)
}
Dataset name: French-Belgian Student data on Big 5, Social Desirability as measured by Heteroduperie and Anchoring Paradigm, entire data set
cat(description)
45 items taking from the french translation of the Big 5 Personality questionnaire (Plaisant et al. 2010), 18 items from the subscale ‘Hétéroduperie’ of the french social desirability scale (Tournois et al., 2010) and 3 Anchoring paradigm items as used in the ManyLabs replication project (Klein et al., 2014). Also includes 7 careless response items based on Meade and Craig (2012)
Metadata for search engines
Citation: Eberlen, J. C., Nicaise, E., Leveaux, S., Mora, Y., & Klein, O. (2019, August 5). Impact of Data sharing: Data collected offline. https://doi.org/10.17605/OSF.IO/X25D3
Date published: 2019-08-05
Creator:Julia C. Eberlen, Emmanuel Nicaise, Sarah Leveaux, Youri L. Mora, Olivier Klein
meta <- meta[setdiff(names(meta),
c("creator", "datePublished", "identifier",
"url", "citation", "spatialCoverage",
"temporalCoverage", "description", "name"))]
pander::pander(meta)
knitr::asis_output(survey_overview)
if (detailed_variables || detailed_scales) {
knitr::asis_output(paste0(scales_items, sep = "\n\n\n", collapse = "\n\n\n"))
}
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | data_type | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| V1 | integer | 0 | 193 | 193 | 97 | 55.86 | 1 | 49 | 97 | 145 | 193 | ▇▇▇▇▇▇▇▇ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | data_type | missing | complete | n | empty | n_unique | min | max |
|---|---|---|---|---|---|---|---|---|
| id | character | 0 | 193 | 193 | 0 | 193 | 4 | 5 |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | data_type | missing | complete | n | empty | n_unique | min | max |
|---|---|---|---|---|---|---|---|---|
| participant | character | 0 | 193 | 193 | 0 | 193 | 4 | 5 |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Reported gender information
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gender | Reported gender information | integer | 1. Female, 2. Male |
1 | 192 | 193 | 1.35 | 0.48 | 1 | 1 | 1 | 2 | 2 | ▇▁▁▁▁▁▁▅ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Academic status
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| acad_status | Academic status | integer | 0. other, 1. bachelor, 2. master, 3. PhD, 4. other |
1 | 192 | 193 | 1.22 | 0.52 | 0 | 1 | 1 | 2 | 3 | ▁▁▇▁▁▃▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Age Group
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| age | Age Group | integer | 1. 18-29 yo, 2. 21-25 yo, 3. 26-30 yo, 4. 31-35 yo, 5. 36-40 yo, 6. 41-50 yo, 7. 51-60 yo, 8. 61-70 yo, 9. 71-80 yo, 10. 81-110 yo |
1 | 192 | 193 | 1.66 | 0.8 | 1 | 1 | 2 | 2 | 7 | ▇▆▂▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Refused participation after consent
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| refused | Refused participation after consent | integer | 0. No, 1. Yes |
0 | 193 | 193 | 0.0052 | 0.072 | 0 | 0 | 0 | 0 | 1 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Reason for refusal
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| reason | Reason for refusal | integer | 0. Not refused, 1. Data sharing, 2. Not enough time, 3. Other |
0 | 193 | 193 | 0.0052 | 0.072 | 0 | 0 | 0 | 0 | 1 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Data sharing policy in consent
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | empty | n_unique | min | max |
|---|---|---|---|---|---|---|---|---|---|---|
| consent | Data sharing policy in consent | character | A. Data will be shared, B. Data will not be shared |
0 | 193 | 193 | 0 | 2 | 1 | 1 |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 1
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
2 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_1 | Careless response item 1 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 1.23 | 0.64 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 2
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
4 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_2 | Careless response item 2 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 1.69 | 1.15 | 1 | 1 | 1 | 2 | 5 | ▇▁▁▂▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 3
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
3 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_3 | Careless response item 3 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
3 | 190 | 193 | 1.69 | 1.14 | 1 | 1 | 1 | 2 | 5 | ▇▁▁▂▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 4
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_4 | Careless response item 4 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 1.2 | 0.62 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 5
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_5 | Careless response item 5 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 1.15 | 0.58 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 6
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
4 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_6 | Careless response item 6 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 1.57 | 1.28 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 7
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
4 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_7 | Careless response item 7 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 1.48 | 1.17 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Anchoring condition
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cond_anc | Anchoring condition | integer | 0. Low anchoring value, 1. High anchoring value |
1 | 192 | 193 | 0.52 | 0.5 | 0 | 0 | 1 | 1 | 1 | ▇▁▁▁▁▁▁▇ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Anchoring: How high is Mount Everest
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
12 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| anc_everest | Anchoring: How high is Mount Everest | integer | 12 | 181 | 193 | 28134.86 | 259715.18 | 600 | 3200 | 8000 | 11000 | 3500000 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Anchoring: Population of Chicagor
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
12 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| anc_chicago | Anchoring: Population of Chicagor | numeric | 12 | 181 | 193 | 19.92 | 185.67 | 0.004 | 1.5 | 3.5 | 7 | 2500 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Anchoring: Babies born in US
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
13 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| anc_bebe | Anchoring: Babies born in US | integer | 13 | 180 | 193 | 68125.47 | 163124.78 | 40 | 1000 | 20000 | 50000 | 1e+06 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Manipulation check, question 1: ‘Do you remember the consent you signed in the beginning?’
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
4 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mc_1 | Manipulation check, question 1: ‘Do you remember the consent you signed in the beginning?’ | integer | 1. Yes, 0. No |
4 | 189 | 193 | 0.98 | 0.14 | 0 | 1 | 1 | 1 | 1 | ▁▁▁▁▁▁▁▇ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Manipulation check, question 2: ‘Do you remember if the consent contained the topic of sharing anonymous data with others?’
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
3 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mc_2 | Manipulation check, question 2: ‘Do you remember if the consent contained the topic of sharing anonymous data with others?’ | integer | 1. Yes, 0. No |
3 | 190 | 193 | 0.74 | 0.44 | 0 | 0 | 1 | 1 | 1 | ▃▁▁▁▁▁▁▇ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Manipulation check, question: ‘Will your anonymous data be shared with others?’
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
5 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mc_3 | Manipulation check, question: ‘Will your anonymous data be shared with others?’ | integer | 1. Yes, 0. No |
5 | 188 | 193 | 0.56 | 0.5 | 0 | 0 | 1 | 1 | 1 | ▆▁▁▁▁▁▁▇ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Observer remarks
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | missing | complete | n | empty | n_unique | min | max |
|---|---|---|---|---|---|---|---|---|---|
| remarks | Observer remarks | character | 0 | 193 | 193 | 168 | 26 | 0 | 95 |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Reliability: ωordinal [95% CI] = 0.3 [0.19;0.4].
Missing: 5.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.1528 |
| Omega Psych Tot | 0.9193 |
| Omega Psych H | 0.783 |
| Omega Ordinal | 0.296 |
| Cronbach Alpha | -0.5445 |
| Greatest Lower Bound | 0.1591 |
| Alpha Ordinal | -0.3017 |
Positive correlations: 13 out of 28 (46%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_1, bf_6R, bf_11, bf_16, bf_21R, bf_26, bf_31R, bf_36
## Observations: 188
## Positive correlations: 13 out of 28 (46%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.15
## Omega (hierarchical): 0.78
## Revelle's omega (total): 0.92
## Greatest Lower Bound (GLB): 0.16
## Coefficient H: 0.92
## Cronbach's alpha: -0.54
## Confidence intervals:
## Omega (total): [0.05, 0.25]
## Cronbach's alpha: [0, -0.26]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.3
## Ordinal Omega (hierarch.): 0.24
## Ordinal Cronbach's alpha: -0.3
## Confidence intervals:
## Ordinal Omega (total): [0.19, 0.4]
## Ordinal Cronbach's alpha: [0, -0.02]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 4.578, 0.785, 0.664, 0.572, 0.52, 0.379, 0.277, 0.225
## Loadings:
## PC1
## bf_1 0.729
## bf_6R -0.765
## bf_11 0.652
## bf_16 0.663
## bf_21R -0.851
## bf_26 0.731
## bf_31R -0.737
## bf_36 0.891
##
## PC1
## SS loadings 4.578
## Proportion Var 0.572
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_1 1 188 3.54 1.18 4 3.62 1.48 1 5 4 -0.44 -0.72
## bf_6R 2 188 3.07 1.34 3 3.09 1.48 1 5 4 -0.17 -1.19
## bf_11 3 188 3.60 1.06 4 3.65 1.48 1 5 4 -0.41 -0.60
## bf_16 4 188 3.65 1.11 4 3.74 1.48 1 5 4 -0.58 -0.52
## bf_21R 5 188 2.71 1.33 3 2.66 1.48 1 5 4 0.05 -1.29
## bf_26 6 188 3.40 1.14 4 3.46 1.48 1 5 4 -0.40 -0.65
## bf_31R 7 188 2.98 1.33 3 2.98 1.48 1 5 4 -0.15 -1.22
## bf_36 8 188 3.26 1.26 3 3.32 1.48 1 5 4 -0.17 -1.00
## se
## bf_1 0.09
## bf_6R 0.10
## bf_11 0.08
## bf_16 0.08
## bf_21R 0.10
## bf_26 0.08
## bf_31R 0.10
## bf_36 0.09
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_1 | Big 5 Extraversion item 1 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.57 | 1.19 | 1 | 3 | 4 | 5 | 5 | ▂▃▁▆▁▇▁▇ |
| bf_6R | Big 5 Extraversion item 6 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.06 | 1.34 | 1 | 2 | 3 | 4 | 5 | ▅▅▁▆▁▇▁▅ |
| bf_11 | Big 5 Extraversion item 11 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.62 | 1.06 | 1 | 3 | 4 | 4 | 5 | ▁▃▁▆▁▇▁▅ |
| bf_16 | Big 5 Extraversion item 16 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.68 | 1.11 | 1 | 3 | 4 | 5 | 5 | ▁▃▁▃▁▇▁▆ |
| bf_21R | Big 5 Extraversion item 21 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
3 | 190 | 193 | 2.72 | 1.32 | 1 | 1 | 3 | 4 | 5 | ▇▅▁▆▁▇▁▂ |
| bf_26 | Big 5 Extraversion item 26 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.41 | 1.13 | 1 | 3 | 4 | 4 | 5 | ▂▃▁▆▁▇▁▃ |
| bf_31R | Big 5 Extraversion item 31 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 2.99 | 1.33 | 1 | 2 | 3 | 4 | 5 | ▅▅▁▆▁▇▁▃ |
| bf_36 | Big 5 Extraversion item 36 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.27 | 1.26 | 1 | 2 | 3 | 4 | 5 | ▃▅▁▇▁▆▁▆ |
Reliability: ωordinal [95% CI] = 0.8 [0.76;0.84].
Missing: 4.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.7516 |
| Omega Psych Tot | 0.7949 |
| Omega Psych H | 0.5028 |
| Omega Ordinal | 0.8013 |
| Cronbach Alpha | 0.7507 |
| Greatest Lower Bound | 0.8297 |
| Alpha Ordinal | 0.7996 |
Positive correlations: 45 out of 45 (100%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_2R, bf_7, bf_12R, bf_17, bf_22, bf_27R, bf_32, bf_37R, bf_42, bf_45R
## Observations: 189
## Positive correlations: 45 out of 45 (100%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.75
## Omega (hierarchical): 0.5
## Revelle's omega (total): 0.79
## Greatest Lower Bound (GLB): 0.83
## Coefficient H: 0.77
## Cronbach's alpha: 0.75
## Confidence intervals:
## Omega (total): [0.7, 0.8]
## Cronbach's alpha: [0.7, 0.8]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.8
## Ordinal Omega (hierarch.): 0.8
## Ordinal Cronbach's alpha: 0.8
## Confidence intervals:
## Ordinal Omega (total): [0.76, 0.84]
## Ordinal Cronbach's alpha: [0.76, 0.84]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 3.143, 1.385, 0.948, 0.873, 0.818, 0.71, 0.622, 0.561, 0.489, 0.451
## Loadings:
## TC1 TC2
## bf_2R 0.617
## bf_7 0.756
## bf_12R 0.761
## bf_17 0.277 0.344
## bf_22 0.625
## bf_27R 0.121 0.669
## bf_32 0.762
## bf_37R 0.412 0.352
## bf_42 0.670
## bf_45R -0.155 0.677
##
## TC1 TC2
## SS loadings 2.281 2.124
## Proportion Var 0.228 0.212
## Cumulative Var 0.228 0.440
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_2R 1 189 3.51 1.14 4 3.58 1.48 1 5 4 -0.45 -0.66
## bf_7 2 189 4.08 0.90 4 4.19 1.48 1 5 4 -0.82 0.13
## bf_12R 3 189 4.01 1.17 4 4.18 1.48 1 5 4 -1.06 0.16
## bf_17 4 189 3.64 1.04 4 3.70 1.48 1 5 4 -0.46 -0.57
## bf_22 5 189 3.49 1.23 4 3.60 1.48 1 5 4 -0.62 -0.66
## bf_27R 6 189 3.93 1.16 4 4.05 1.48 1 5 4 -0.72 -0.71
## bf_32 7 189 3.94 0.93 4 4.05 1.48 1 5 4 -0.78 0.19
## bf_37R 8 189 4.02 1.06 4 4.16 1.48 1 5 4 -0.84 -0.35
## bf_42 9 189 3.71 1.06 4 3.82 1.48 1 5 4 -0.74 -0.01
## bf_45R 10 189 4.44 0.89 5 4.61 0.00 1 5 4 -1.74 2.82
## se
## bf_2R 0.08
## bf_7 0.07
## bf_12R 0.09
## bf_17 0.08
## bf_22 0.09
## bf_27R 0.08
## bf_32 0.07
## bf_37R 0.08
## bf_42 0.08
## bf_45R 0.06
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_2R | Big 5 Agreeableness item 2 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 192 | 193 | 3.51 | 1.14 | 1 | 3 | 4 | 4 | 5 | ▁▃▁▆▁▇▁▅ |
| bf_7 | Big 5 Agreeableness item 7 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 4.09 | 0.9 | 1 | 4 | 4 | 5 | 5 | ▁▁▁▃▁▇▁▇ |
| bf_12R | Big 5 Agreeableness item 12 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 192 | 193 | 3.98 | 1.18 | 1 | 3 | 4 | 5 | 5 | ▁▂▁▂▁▅▁▇ |
| bf_17 | Big 5 Agreeableness item 17 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.63 | 1.06 | 1 | 3 | 4 | 4 | 5 | ▁▃▁▅▁▇▁▅ |
| bf_22 | Big 5 Agreeableness item 22 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.48 | 1.23 | 1 | 3 | 4 | 4 | 5 | ▂▃▁▃▁▇▁▅ |
| bf_27R | Big 5 Agreeableness item 27 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 192 | 193 | 3.91 | 1.17 | 1 | 3 | 4 | 5 | 5 | ▁▃▁▃▁▅▁▇ |
| bf_32 | Big 5 Agreeableness item 32 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
3 | 190 | 193 | 3.93 | 0.93 | 1 | 3 | 4 | 5 | 5 | ▁▂▁▃▁▇▁▅ |
| bf_37R | Big 5 Agreeableness item 37 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 192 | 193 | 4.02 | 1.07 | 1 | 3 | 4 | 5 | 5 | ▁▂▁▂▁▆▁▇ |
| bf_42 | Big 5 Agreeableness item 42 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.7 | 1.07 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▃▁▇▁▅ |
| bf_45R | Big 5 Agreeableness item 45 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 192 | 193 | 4.44 | 0.88 | 1 | 4 | 5 | 5 | 5 | ▁▁▁▁▁▃▁▇ |
Reliability: ωordinal [95% CI] = 0.21 [0.1;0.31].
Missing: 4.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.06757 |
| Omega Psych Tot | 0.8491 |
| Omega Psych H | 0.6316 |
| Omega Ordinal | 0.2074 |
| Cronbach Alpha | 0.17 |
| Greatest Lower Bound | 0.4445 |
| Alpha Ordinal | 0.2643 |
Positive correlations: 16 out of 36 (44%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_3, bf_8R, bf_13, bf_18R, bf_23R, bf_28, bf_33, bf_38R, bf_43R
## Observations: 189
## Positive correlations: 16 out of 36 (44%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.07
## Omega (hierarchical): 0.63
## Revelle's omega (total): 0.85
## Greatest Lower Bound (GLB): 0.44
## Coefficient H: 0.83
## Cronbach's alpha: 0.17
## Confidence intervals:
## Omega (total): [0, 0.15]
## Cronbach's alpha: [0, 0.34]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.21
## Ordinal Omega (hierarch.): 0.13
## Ordinal Cronbach's alpha: 0.26
## Confidence intervals:
## Ordinal Omega (total): [0.1, 0.31]
## Ordinal Cronbach's alpha: [0.1, 0.43]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 3.599, 1.296, 0.814, 0.737, 0.637, 0.582, 0.544, 0.407, 0.383
## Loadings:
## TC1 TC2
## bf_3 0.504 -0.416
## bf_8R 0.768
## bf_13 0.854 0.224
## bf_18R 0.747
## bf_23R 0.724
## bf_28 0.739 -0.100
## bf_33 0.730 -0.136
## bf_38R 0.518 -0.243
## bf_43R 0.572
##
## TC1 TC2
## SS loadings 2.345 2.310
## Proportion Var 0.261 0.257
## Cumulative Var 0.261 0.517
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_3 1 189 3.50 1.16 4 3.58 1.48 1 5 4 -0.49 -0.53
## bf_8R 2 189 2.87 1.12 3 2.90 1.48 1 5 4 -0.09 -1.00
## bf_13 3 189 4.03 0.86 4 4.10 1.48 1 5 4 -0.77 0.59
## bf_18R 4 189 2.83 1.32 3 2.78 1.48 1 5 4 0.07 -1.17
## bf_23R 5 189 3.06 1.15 3 3.06 1.48 1 5 4 0.05 -0.84
## bf_28 6 189 3.76 1.08 4 3.86 1.48 1 5 4 -0.65 -0.32
## bf_33 7 189 3.70 0.93 4 3.78 1.48 1 5 4 -0.72 0.43
## bf_38R 8 189 3.54 1.05 4 3.61 1.48 1 5 4 -0.61 -0.10
## bf_43R 9 189 3.48 1.25 4 3.59 1.48 1 5 4 -0.49 -0.80
## se
## bf_3 0.08
## bf_8R 0.08
## bf_13 0.06
## bf_18R 0.10
## bf_23R 0.08
## bf_28 0.08
## bf_33 0.07
## bf_38R 0.08
## bf_43R 0.09
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_3 | Big 5 Conscientiousness item 3 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.49 | 1.15 | 1 | 3 | 4 | 4 | 5 | ▂▃▁▆▁▇▁▅ |
| bf_8R | Big 5 Conscientiousness item 8 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 2.88 | 1.13 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▇▁▇▁▂ |
| bf_13 | Big 5 Conscientiousness item 13 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 4.03 | 0.85 | 1 | 4 | 4 | 5 | 5 | ▁▁▁▃▁▇▁▆ |
| bf_18R | Big 5 Conscientiousness item 18 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 2.85 | 1.33 | 1 | 2 | 3 | 4 | 5 | ▇▇▁▇▁▇▁▅ |
| bf_23R | Big 5 Conscientiousness item 23 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.06 | 1.17 | 1 | 2 | 3 | 4 | 5 | ▂▆▁▇▁▆▁▃ |
| bf_28 | Big 5 Conscientiousness item 28 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.77 | 1.08 | 1 | 3 | 4 | 5 | 5 | ▁▂▁▅▁▇▁▆ |
| bf_33 | Big 5 Conscientiousness item 33 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.69 | 0.94 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▃▁▇▁▃ |
| bf_38R | Big 5 Conscientiousness item 38 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.55 | 1.06 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▅▁▇▁▃ |
| bf_43R | Big 5 Conscientiousness item 43 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.49 | 1.25 | 1 | 3 | 4 | 4.25 | 5 | ▂▃▁▅▁▇▁▆ |
Reliability: ωordinal [95% CI] = 0.86 [0.83;0.89].
Missing: 2.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.8435 |
| Omega Psych Tot | 0.8778 |
| Omega Psych H | 0.6987 |
| Omega Ordinal | 0.8626 |
| Cronbach Alpha | 0.8365 |
| Greatest Lower Bound | 0.8731 |
| Alpha Ordinal | 0.8564 |
Positive correlations: 28 out of 28 (100%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_4, bf_9R, bf_14, bf_19, bf_24R, bf_29, bf_34R, bf_39
## Observations: 191
## Positive correlations: 28 out of 28 (100%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.84
## Omega (hierarchical): 0.7
## Revelle's omega (total): 0.88
## Greatest Lower Bound (GLB): 0.87
## Coefficient H: 0.91
## Cronbach's alpha: 0.84
## Confidence intervals:
## Omega (total): [0.81, 0.88]
## Cronbach's alpha: [0.8, 0.87]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.86
## Ordinal Omega (hierarch.): 0.85
## Ordinal Cronbach's alpha: 0.86
## Confidence intervals:
## Ordinal Omega (total): [0.83, 0.89]
## Ordinal Cronbach's alpha: [0.83, 0.89]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 3.865, 1.118, 0.833, 0.656, 0.531, 0.432, 0.345, 0.219
## Loadings:
## TC1 TC2
## bf_4 0.862 -0.169
## bf_9R 0.361 0.635
## bf_14 0.653 0.301
## bf_19 0.802
## bf_24R -0.197 0.807
## bf_29 0.581
## bf_34R 0.778
## bf_39 0.569 0.475
##
## TC1 TC2
## SS loadings 2.647 2.007
## Proportion Var 0.331 0.251
## Cumulative Var 0.331 0.582
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_4 1 191 2.20 1.25 2 2.04 1.48 1 5 4 0.78 -0.47
## bf_9R 2 191 3.13 1.26 3 3.16 1.48 1 5 4 -0.04 -1.09
## bf_14 3 191 3.23 1.31 4 3.28 1.48 1 5 4 -0.31 -1.10
## bf_19 4 191 3.29 1.31 4 3.37 1.48 1 5 4 -0.41 -1.00
## bf_24R 5 191 3.01 1.20 3 3.01 1.48 1 5 4 0.08 -0.90
## bf_29 6 191 2.94 1.38 3 2.93 1.48 1 5 4 -0.02 -1.28
## bf_34R 7 191 2.88 1.25 3 2.86 1.48 1 5 4 0.20 -0.95
## bf_39 8 191 2.91 1.31 3 2.88 1.48 1 5 4 0.08 -1.21
## se
## bf_4 0.09
## bf_9R 0.09
## bf_14 0.09
## bf_19 0.09
## bf_24R 0.09
## bf_29 0.10
## bf_34R 0.09
## bf_39 0.09
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_4 | Big 5 Neuroticism item 4 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 2.19 | 1.25 | 1 | 1 | 2 | 3 | 5 | ▇▆▁▃▁▂▁▂ |
| bf_9R | Big 5 Neuroticism item 9 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 192 | 193 | 3.12 | 1.27 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▇▁▇▁▆ |
| bf_14 | Big 5 Neuroticism item 14 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.23 | 1.31 | 1 | 2 | 4 | 4 | 5 | ▃▅▁▅▁▇▁▅ |
| bf_19 | Big 5 Neuroticism item 19 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.29 | 1.31 | 1 | 2 | 4 | 4 | 5 | ▃▃▁▅▁▇▁▅ |
| bf_24R | Big 5 Neuroticism item 24 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
2 | 191 | 193 | 3.01 | 1.2 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▇▁▆▁▃ |
| bf_29 | Big 5 Neuroticism item 29 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 2.93 | 1.38 | 1 | 2 | 3 | 4 | 5 | ▇▆▁▆▁▇▁▅ |
| bf_34R | Big 5 Neuroticism item 34 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 192 | 193 | 2.88 | 1.25 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▇▁▅▁▃ |
| bf_39 | Big 5 Neuroticism item 39 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 2.9 | 1.31 | 1 | 2 | 3 | 4 | 5 | ▅▇▁▅▁▇▁▃ |
Reliability: ωordinal [95% CI] = 0.73 [0.68;0.79].
Missing: 7.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.6806 |
| Omega Psych Tot | 0.8255 |
| Omega Psych H | 0.6246 |
| Omega Ordinal | 0.7319 |
| Cronbach Alpha | 0.6211 |
| Greatest Lower Bound | 0.8128 |
| Alpha Ordinal | 0.677 |
Positive correlations: 30 out of 45 (67%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_5, bf_10, bf_15, bf_20, bf_25, bf_30, bf_35R, bf_40, bf_41R, bf_44
## Observations: 186
## Positive correlations: 30 out of 45 (67%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.68
## Omega (hierarchical): 0.62
## Revelle's omega (total): 0.83
## Greatest Lower Bound (GLB): 0.81
## Coefficient H: 0.88
## Cronbach's alpha: 0.62
## Confidence intervals:
## Omega (total): [0.61, 0.75]
## Cronbach's alpha: [0.55, 0.69]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.73
## Ordinal Omega (hierarch.): 0.73
## Ordinal Cronbach's alpha: 0.68
## Confidence intervals:
## Ordinal Omega (total): [0.68, 0.79]
## Ordinal Cronbach's alpha: [0.61, 0.74]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 3.519, 1.178, 1.154, 1.07, 0.877, 0.678, 0.587, 0.371, 0.316, 0.249
## Loadings:
## TC1 TC2 TC3 TC4
## bf_5 0.873
## bf_10 0.667 0.250 0.102
## bf_15 0.253 0.100 -0.171 -0.801
## bf_20 0.889
## bf_25 0.843
## bf_30 0.404 0.652 0.174
## bf_35R 0.145 -0.797 0.128 0.123
## bf_40 0.153 0.681
## bf_41R 0.199 -0.568 0.612
## bf_44 0.126 0.752
##
## TC1 TC2 TC3 TC4
## SS loadings 2.582 1.584 1.431 1.083
## Proportion Var 0.258 0.158 0.143 0.108
## Cumulative Var 0.258 0.417 0.560 0.668
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_5 1 186 3.46 1.01 4 3.49 1.48 1 5 4 -0.34 -0.41
## bf_10 2 186 4.23 0.84 4 4.35 1.48 1 5 4 -1.17 1.62
## bf_15 3 186 2.90 0.94 3 2.93 1.48 1 5 4 -0.11 -0.15
## bf_20 4 186 3.69 1.09 4 3.79 1.48 1 5 4 -0.67 -0.22
## bf_25 5 186 3.55 0.99 4 3.60 1.48 1 5 4 -0.48 -0.29
## bf_30 6 186 3.75 1.24 4 3.90 1.48 1 5 4 -0.77 -0.49
## bf_35R 7 186 2.31 1.18 2 2.19 1.48 1 5 4 0.68 -0.45
## bf_40 8 186 3.97 0.88 4 4.06 0.74 1 5 4 -0.85 0.69
## bf_41R 9 186 2.42 1.47 2 2.29 1.48 1 5 4 0.60 -1.08
## bf_44 10 186 3.30 1.20 3 3.37 1.48 1 5 4 -0.33 -0.81
## se
## bf_5 0.07
## bf_10 0.06
## bf_15 0.07
## bf_20 0.08
## bf_25 0.07
## bf_30 0.09
## bf_35R 0.09
## bf_40 0.06
## bf_41R 0.11
## bf_44 0.09
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_5 | Big 5 Openness to experience item 5 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.43 | 1.02 | 1 | 3 | 4 | 4 | 5 | ▁▃▁▇▁▇▁▃ |
| bf_10 | Big 5 Openness to experience item 10 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 4.22 | 0.84 | 1 | 4 | 4 | 5 | 5 | ▁▁▁▂▁▇▁▇ |
| bf_15 | Big 5 Openness to experience item 15 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
3 | 190 | 193 | 2.88 | 0.94 | 1 | 2 | 3 | 3 | 5 | ▂▃▁▇▁▃▁▁ |
| bf_20 | Big 5 Openness to experience item 20 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.68 | 1.08 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▅▁▇▁▅ |
| bf_25 | Big 5 Openness to experience item 25 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
3 | 190 | 193 | 3.55 | 0.98 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▅▁▇▁▃ |
| bf_30 | Big 5 Openness to experience item 30 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.73 | 1.26 | 1 | 3 | 4 | 5 | 5 | ▂▃▁▃▁▇▁▇ |
| bf_35R | Big 5 Openness to experience item 35 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 2.32 | 1.19 | 1 | 1 | 2 | 3 | 5 | ▇▇▁▅▁▃▁▂ |
| bf_40 | Big 5 Openness to experience item 40 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.96 | 0.87 | 1 | 4 | 4 | 5 | 5 | ▁▁▁▂▁▇▁▅ |
| bf_41R | Big 5 Openness to experience item 41 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 2.41 | 1.46 | 1 | 1 | 2 | 4 | 5 | ▇▅▁▃▁▂▁▃ |
| bf_44 | Big 5 Openness to experience item 44 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 192 | 193 | 3.26 | 1.21 | 1 | 2 | 3 | 4 | 5 | ▂▅▁▇▁▇▁▅ |
Reliability: ωordinal [95% CI] = 0.84 [0.81;0.88].
Missing: 6.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.8329 |
| Omega Psych Tot | 0.856 |
| Omega Psych H | 0.5431 |
| Omega Ordinal | 0.8439 |
| Cronbach Alpha | 0.8297 |
| Greatest Lower Bound | 0.8952 |
| Alpha Ordinal | 0.8425 |
Positive correlations: 152 out of 153 (99%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: soc_d_1, soc_d_2R, soc_d_3, soc_d_4R, soc_d_5R, soc_d_6, soc_d_7R, soc_d_8, soc_d_9, soc_d_10R, soc_d_11R, soc_d_12, soc_d_13R, soc_d_14R, soc_d_15, soc_d_16, soc_d_17R, soc_d_18
## Observations: 187
## Positive correlations: 152 out of 153 (99%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.83
## Omega (hierarchical): 0.54
## Revelle's omega (total): 0.86
## Greatest Lower Bound (GLB): 0.9
## Coefficient H: 0.84
## Cronbach's alpha: 0.83
## Confidence intervals:
## Omega (total): [0.8, 0.87]
## Cronbach's alpha: [0.79, 0.87]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.84
## Ordinal Omega (hierarch.): 0.84
## Ordinal Cronbach's alpha: 0.84
## Confidence intervals:
## Ordinal Omega (total): [0.81, 0.88]
## Ordinal Cronbach's alpha: [0.81, 0.88]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 4.742, 1.742, 1.262, 1.127, 1.071, 1.03, 0.863, 0.84, 0.794, 0.674, 0.648, 0.59, 0.565, 0.538, 0.468, 0.463, 0.348, 0.234
## Loadings:
## TC1 TC3 TC6 TC2 TC4 TC5
## soc_d_1 0.848
## soc_d_2R 0.759 -0.169
## soc_d_3 0.880
## soc_d_4R 0.434 0.227 0.276 0.276
## soc_d_5R 0.635 0.243
## soc_d_6 0.816 0.165 -0.135
## soc_d_7R 0.117 0.471 0.360 0.242
## soc_d_8 0.408 0.207 -0.289 -0.232 0.156
## soc_d_9 0.335 0.164 -0.591 0.201
## soc_d_10R 0.187 0.469 0.510
## soc_d_11R 0.352 0.143 0.546 0.320
## soc_d_12 0.282 0.513
## soc_d_13R 0.628 0.270 0.187 -0.119 -0.280
## soc_d_14R 0.880
## soc_d_15 -0.123 0.147 0.343 -0.207 0.292 0.462
## soc_d_16 0.212 0.667 -0.139 -0.107
## soc_d_17R 0.597 -0.205 -0.267 0.313 0.156
## soc_d_18 0.783 0.134
##
## TC1 TC3 TC6 TC2 TC4 TC5
## SS loadings 2.155 2.150 1.679 1.473 1.460 1.252
## Proportion Var 0.120 0.119 0.093 0.082 0.081 0.070
## Cumulative Var 0.120 0.239 0.332 0.414 0.495 0.565
##
## vars n mean sd median trimmed mad min max range skew
## soc_d_1 1 187 4.12 0.87 4 4.24 1.48 1 5 4 -1.05
## soc_d_2R 2 187 2.84 1.29 3 2.80 1.48 1 5 4 0.37
## soc_d_3 3 187 3.13 1.01 3 3.17 1.48 1 5 4 -0.27
## soc_d_4R 4 187 1.98 1.12 2 1.80 1.48 1 5 4 1.15
## soc_d_5R 5 187 3.26 1.12 3 3.26 1.48 1 5 4 -0.08
## soc_d_6 6 187 3.06 1.25 3 3.07 1.48 1 5 4 0.04
## soc_d_7R 7 187 3.14 1.23 3 3.13 1.48 1 5 4 0.08
## soc_d_8 8 187 3.32 1.33 4 3.39 1.48 1 5 4 -0.23
## soc_d_9 9 187 3.49 1.26 4 3.58 1.48 1 5 4 -0.40
## soc_d_10R 10 187 3.22 1.20 3 3.24 1.48 1 5 4 -0.10
## soc_d_11R 11 187 3.09 1.23 3 3.11 1.48 1 5 4 0.03
## soc_d_12 12 187 3.66 1.10 4 3.75 1.48 1 5 4 -0.65
## soc_d_13R 13 187 3.21 1.35 3 3.26 1.48 1 5 4 -0.11
## soc_d_14R 14 187 2.97 1.31 3 2.96 1.48 1 5 4 0.14
## soc_d_15 15 187 3.64 0.96 4 3.69 1.48 1 5 4 -0.49
## soc_d_16 16 187 3.21 1.13 3 3.26 1.48 1 5 4 -0.33
## soc_d_17R 17 187 3.05 1.25 3 3.06 1.48 1 5 4 -0.02
## soc_d_18 18 187 3.47 1.30 4 3.58 1.48 1 5 4 -0.39
## kurtosis se
## soc_d_1 1.11 0.06
## soc_d_2R -1.02 0.09
## soc_d_3 -0.37 0.07
## soc_d_4R 0.60 0.08
## soc_d_5R -0.90 0.08
## soc_d_6 -1.14 0.09
## soc_d_7R -1.20 0.09
## soc_d_8 -1.21 0.10
## soc_d_9 -0.97 0.09
## soc_d_10R -1.11 0.09
## soc_d_11R -1.11 0.09
## soc_d_12 -0.31 0.08
## soc_d_13R -1.24 0.10
## soc_d_14R -1.24 0.10
## soc_d_15 -0.46 0.07
## soc_d_16 -0.69 0.08
## soc_d_17R -1.00 0.09
## soc_d_18 -0.95 0.09
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| soc_d_1 | Social desirability item 1 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 4.12 | 0.87 | 1 | 4 | 4 | 5 | 5 | ▁▁▁▂▁▇▁▆ |
| soc_d_2R | Social desirability item 2 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
4 | 189 | 193 | 2.85 | 1.29 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▅▁▃▁▃ |
| soc_d_3 | Social desirability item 3 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 3.13 | 1.01 | 1 | 3 | 3 | 4 | 5 | ▂▃▁▇▁▆▁▂ |
| soc_d_4R | Social desirability item 4 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
4 | 189 | 193 | 1.98 | 1.11 | 1 | 1 | 2 | 2 | 5 | ▇▇▁▂▁▁▁▁ |
| soc_d_5R | Social desirability item 5 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
4 | 189 | 193 | 3.25 | 1.12 | 1 | 2 | 3 | 4 | 5 | ▁▇▁▇▁▇▁▅ |
| soc_d_6 | Social desirability item 6 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 3.05 | 1.25 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▆▁▇▁▃ |
| soc_d_7R | Social desirability item 7 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
4 | 189 | 193 | 3.13 | 1.23 | 1 | 2 | 3 | 4 | 5 | ▂▇▁▅▁▆▁▅ |
| soc_d_8 | Social desirability item 8 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 3.31 | 1.33 | 1 | 2 | 4 | 4 | 5 | ▃▇▁▅▁▇▁▇ |
| soc_d_9 | Social desirability item 9 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 3.48 | 1.26 | 1 | 2 | 4 | 5 | 5 | ▂▅▁▆▁▇▁▇ |
| soc_d_10R | Social desirability item 10 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
4 | 189 | 193 | 3.21 | 1.2 | 1 | 2 | 3 | 4 | 5 | ▂▇▁▅▁▇▁▅ |
| soc_d_11R | Social desirability item 11 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
4 | 189 | 193 | 3.08 | 1.23 | 1 | 2 | 3 | 4 | 5 | ▂▇▁▆▁▇▁▅ |
| soc_d_12 | Social desirability item 12 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 3.65 | 1.1 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▅▁▇▁▅ |
| soc_d_13R | Social desirability item 13 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
2 | 191 | 193 | 3.2 | 1.35 | 1 | 2 | 3 | 4 | 5 | ▅▇▁▇▁▇▁▇ |
| soc_d_14R | Social desirability item 14 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
2 | 191 | 193 | 2.96 | 1.3 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▃▁▆▁▃ |
| soc_d_15 | Social desirability item 15 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.64 | 0.97 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▃▁▇▁▃ |
| soc_d_16 | Social desirability item 16 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 191 | 193 | 3.22 | 1.14 | 1 | 2 | 3 | 4 | 5 | ▂▅▁▆▁▇▁▃ |
| soc_d_17R | Social desirability item 17 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
2 | 191 | 193 | 3.03 | 1.25 | 1 | 2 | 3 | 4 | 5 | ▃▆▁▇▁▆▁▅ |
| soc_d_18 | Social desirability item 18 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
4 | 189 | 193 | 3.47 | 1.3 | 1 | 3 | 4 | 5 | 5 | ▂▃▁▇▁▆▁▇ |
missingness_report
if (length(md_pattern)) {
if (knitr::is_html_output()) {
rmarkdown::paged_table(md_pattern, options = list(rows.print = 10))
} else {
knitr::kable(md_pattern)
}
}
items
export_table(metadata_table)
jsonld
JSON-LD metadata
The following JSON-LD can be found by search engines, if you share this codebook publicly on the web.
{
"name": "French-Belgian Student data on Big 5, Social Desirability as measured by Heteroduperie and Anchoring Paradigm, entire data set",
"description": "45 items taking from the french translation of the Big 5 Personality questionnaire (Plaisant et al. 2010), 18 items from the subscale 'Hétéroduperie' of the french social desirability scale (Tournois et al., 2010) and 3 Anchoring paradigm items as used in the ManyLabs replication project (Klein et al., 2014). Also includes 7 careless response items based on Meade and Craig (2012)\n\n\n## Table of variables\nThis table contains variable names, labels, their central tendencies and other attributes.\n\n|name |label |data_type |value_labels |scale_item_names |missing |complete |n |empty |n_unique |min |max |mean |sd |p0 |p25 |p50 |p75 |p100 |hist |\n|:-----------------------------------|:---------------------------------------------------------------------------------------------------------------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------|:--------|:---|:-----|:--------|:---|:---|:--------|:---------|:-----|:----|:-----|:-----|:-------|:--------|\n|V1 |NA |integer |NA |NA |0 |193 |193 |NA |NA |NA |NA |97 |55.86 |1 |49 |97 |145 |193 |▇▇▇▇▇▇▇▇ |\n|id |NA |character |NA |NA |0 |193 |193 |0 |193 |4 |5 |NA |NA |NA |NA |NA |NA |NA |NA |\n|participant |NA |character |NA |NA |0 |193 |193 |0 |193 |4 |5 |NA |NA |NA |NA |NA |NA |NA |NA |\n|gender |Reported gender information |integer |1. Female, - 2. Male |NA |1 |192 |193 |NA |NA |NA |NA |1.35 |0.48 |1 |1 |1 |2 |2 |▇▁▁▁▁▁▁▅ |\n|acad_status |Academic status |integer |0. other, - 1. bachelor, - 2. master, - 3. PhD, - 4. other |NA |1 |192 |193 |NA |NA |NA |NA |1.22 |0.52 |0 |1 |1 |2 |3 |▁▁▇▁▁▃▁▁ |\n|age |Age Group |integer |1. 18-29 yo, - 2. 21-25 yo, - 3. 26-30 yo, - 4. 31-35 yo, - 5. 36-40 yo, - 6. 41-50 yo, - 7. 51-60 yo, - 8. 61-70 yo, - 9. 71-80 yo, - 10. 81-110 yo |NA |1 |192 |193 |NA |NA |NA |NA |1.66 |0.8 |1 |1 |2 |2 |7 |▇▆▂▁▁▁▁▁ |\n|refused |Refused participation after consent |integer |0. No, - 1. Yes |NA |0 |193 |193 |NA |NA |NA |NA |0.0052 |0.072 |0 |0 |0 |0 |1 |▇▁▁▁▁▁▁▁ |\n|reason |Reason for refusal |integer |0. Not refused, - 1. Data sharing, - 2. Not enough time, - 3. Other |NA |0 |193 |193 |NA |NA |NA |NA |0.0052 |0.072 |0 |0 |0 |0 |1 |▇▁▁▁▁▁▁▁ |\n|consent |Data sharing policy in consent |character |A. Data will be shared, - B. Data will not be shared |NA |0 |193 |193 |0 |2 |1 |1 |NA |NA |NA |NA |NA |NA |NA |NA |\n|bf_1 |Big 5 Extraversion item 1 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.57 |1.19 |1 |3 |4 |5 |5 |▂▃▁▆▁▇▁▇ |\n|bf_2R |Big 5 Agreeableness item 2 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.51 |1.14 |1 |3 |4 |4 |5 |▁▃▁▆▁▇▁▅ |\n|bf_3 |Big 5 Conscientiousness item 3 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.49 |1.15 |1 |3 |4 |4 |5 |▂▃▁▆▁▇▁▅ |\n|bf_4 |Big 5 Neuroticism item 4 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |2.19 |1.25 |1 |1 |2 |3 |5 |▇▆▁▃▁▂▁▂ |\n|bf_5 |Big 5 Openness to experience item 5 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.43 |1.02 |1 |3 |4 |4 |5 |▁▃▁▇▁▇▁▃ |\n|bf_6R |Big 5 Extraversion item 6 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.06 |1.34 |1 |2 |3 |4 |5 |▅▅▁▆▁▇▁▅ |\n|bf_7 |Big 5 Agreeableness item 7 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |4.09 |0.9 |1 |4 |4 |5 |5 |▁▁▁▃▁▇▁▇ |\n|bf_8R |Big 5 Conscientiousness item 8 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |2.88 |1.13 |1 |2 |3 |4 |5 |▃▇▁▇▁▇▁▂ |\n|bf_9R |Big 5 Neuroticism item 9 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.12 |1.27 |1 |2 |3 |4 |5 |▃▇▁▇▁▇▁▆ |\n|bf_10 |Big 5 Openness to experience item 10 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |4.22 |0.84 |1 |4 |4 |5 |5 |▁▁▁▂▁▇▁▇ |\n|bf_11 |Big 5 Extraversion item 11 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.62 |1.06 |1 |3 |4 |4 |5 |▁▃▁▆▁▇▁▅ |\n|bf_12R |Big 5 Agreeableness item 12 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.98 |1.18 |1 |3 |4 |5 |5 |▁▂▁▂▁▅▁▇ |\n|bf_13 |Big 5 Conscientiousness item 13 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |4.03 |0.85 |1 |4 |4 |5 |5 |▁▁▁▃▁▇▁▆ |\n|bf_14 |Big 5 Neuroticism item 14 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.23 |1.31 |1 |2 |4 |4 |5 |▃▅▁▅▁▇▁▅ |\n|bf_15 |Big 5 Openness to experience item 15 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |3 |190 |193 |NA |NA |NA |NA |2.88 |0.94 |1 |2 |3 |3 |5 |▂▃▁▇▁▃▁▁ |\n|bf_16 |Big 5 Extraversion item 16 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.68 |1.11 |1 |3 |4 |5 |5 |▁▃▁▃▁▇▁▆ |\n|bf_17 |Big 5 Agreeableness item 17 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.63 |1.06 |1 |3 |4 |4 |5 |▁▃▁▅▁▇▁▅ |\n|bf_18R |Big 5 Conscientiousness item 18 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |2.85 |1.33 |1 |2 |3 |4 |5 |▇▇▁▇▁▇▁▅ |\n|bf_19 |Big 5 Neuroticism item 19 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.29 |1.31 |1 |2 |4 |4 |5 |▃▃▁▅▁▇▁▅ |\n|bf_20 |Big 5 Openness to experience item 20 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.68 |1.08 |1 |3 |4 |4 |5 |▁▂▁▅▁▇▁▅ |\n|bf_21R |Big 5 Extraversion item 21 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |3 |190 |193 |NA |NA |NA |NA |2.72 |1.32 |1 |1 |3 |4 |5 |▇▅▁▆▁▇▁▂ |\n|bf_22 |Big 5 Agreeableness item 22 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.48 |1.23 |1 |3 |4 |4 |5 |▂▃▁▃▁▇▁▅ |\n|bf_23R |Big 5 Conscientiousness item 23 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.06 |1.17 |1 |2 |3 |4 |5 |▂▆▁▇▁▆▁▃ |\n|bf_24R |Big 5 Neuroticism item 24 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.01 |1.2 |1 |2 |3 |4 |5 |▃▇▁▇▁▆▁▃ |\n|bf_25 |Big 5 Openness to experience item 25 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |3 |190 |193 |NA |NA |NA |NA |3.55 |0.98 |1 |3 |4 |4 |5 |▁▂▁▅▁▇▁▃ |\n|bf_26 |Big 5 Extraversion item 26 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.41 |1.13 |1 |3 |4 |4 |5 |▂▃▁▆▁▇▁▃ |\n|bf_27R |Big 5 Agreeableness item 27 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.91 |1.17 |1 |3 |4 |5 |5 |▁▃▁▃▁▅▁▇ |\n|bf_28 |Big 5 Conscientiousness item 28 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.77 |1.08 |1 |3 |4 |5 |5 |▁▂▁▅▁▇▁▆ |\n|bf_29 |Big 5 Neuroticism item 29 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |2.93 |1.38 |1 |2 |3 |4 |5 |▇▆▁▆▁▇▁▅ |\n|bf_30 |Big 5 Openness to experience item 30 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.73 |1.26 |1 |3 |4 |5 |5 |▂▃▁▃▁▇▁▇ |\n|bf_31R |Big 5 Extraversion item 31 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |2.99 |1.33 |1 |2 |3 |4 |5 |▅▅▁▆▁▇▁▃ |\n|bf_32 |Big 5 Agreeableness item 32 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |3 |190 |193 |NA |NA |NA |NA |3.93 |0.93 |1 |3 |4 |5 |5 |▁▂▁▃▁▇▁▅ |\n|bf_33 |Big 5 Conscientiousness item 33 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.69 |0.94 |1 |3 |4 |4 |5 |▁▂▁▃▁▇▁▃ |\n|bf_34R |Big 5 Neuroticism item 34 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |2.88 |1.25 |1 |2 |3 |4 |5 |▃▇▁▇▁▅▁▃ |\n|bf_35R |Big 5 Openness to experience item 35 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |2.32 |1.19 |1 |1 |2 |3 |5 |▇▇▁▅▁▃▁▂ |\n|bf_36 |Big 5 Extraversion item 36 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.27 |1.26 |1 |2 |3 |4 |5 |▃▅▁▇▁▆▁▆ |\n|bf_37R |Big 5 Agreeableness item 37 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |4.02 |1.07 |1 |3 |4 |5 |5 |▁▂▁▂▁▆▁▇ |\n|bf_38R |Big 5 Conscientiousness item 38 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.55 |1.06 |1 |3 |4 |4 |5 |▁▂▁▅▁▇▁▃ |\n|bf_39 |Big 5 Neuroticism item 39 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |2.9 |1.31 |1 |2 |3 |4 |5 |▅▇▁▅▁▇▁▃ |\n|bf_40 |Big 5 Openness to experience item 40 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.96 |0.87 |1 |4 |4 |5 |5 |▁▁▁▂▁▇▁▅ |\n|bf_41R |Big 5 Openness to experience item 41 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |2.41 |1.46 |1 |1 |2 |4 |5 |▇▅▁▃▁▂▁▃ |\n|bf_42 |Big 5 Agreeableness item 42 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.7 |1.07 |1 |3 |4 |4 |5 |▁▂▁▃▁▇▁▅ |\n|bf_43R |Big 5 Conscientiousness item 43 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.49 |1.25 |1 |3 |4 |4.25 |5 |▂▃▁▅▁▇▁▆ |\n|bf_44 |Big 5 Openness to experience item 44 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |3.26 |1.21 |1 |2 |3 |4 |5 |▂▅▁▇▁▇▁▅ |\n|bf_45R |Big 5 Agreeableness item 45 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |4.44 |0.88 |1 |4 |5 |5 |5 |▁▁▁▁▁▃▁▇ |\n|cr_1 |Careless response item 1 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |1.23 |0.64 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|cr_2 |Careless response item 2 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |1.69 |1.15 |1 |1 |1 |2 |5 |▇▁▁▂▁▁▁▁ |\n|cr_3 |Careless response item 3 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |3 |190 |193 |NA |NA |NA |NA |1.69 |1.14 |1 |1 |1 |2 |5 |▇▁▁▂▁▁▁▁ |\n|cr_4 |Careless response item 4 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |1.2 |0.62 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|cr_5 |Careless response item 5 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |192 |193 |NA |NA |NA |NA |1.15 |0.58 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|cr_6 |Careless response item 6 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |1.57 |1.28 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|cr_7 |Careless response item 7 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |1.48 |1.17 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|soc_d_1 |Social desirability item 1 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |4.12 |0.87 |1 |4 |4 |5 |5 |▁▁▁▂▁▇▁▆ |\n|soc_d_2R |Social desirability item 2 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |2.85 |1.29 |1 |2 |3 |4 |5 |▃▇▁▅▁▃▁▃ |\n|soc_d_3 |Social desirability item 3 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.13 |1.01 |1 |3 |3 |4 |5 |▂▃▁▇▁▆▁▂ |\n|soc_d_4R |Social desirability item 4 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |1.98 |1.11 |1 |1 |2 |2 |5 |▇▇▁▂▁▁▁▁ |\n|soc_d_5R |Social desirability item 5 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.25 |1.12 |1 |2 |3 |4 |5 |▁▇▁▇▁▇▁▅ |\n|soc_d_6 |Social desirability item 6 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.05 |1.25 |1 |2 |3 |4 |5 |▃▇▁▆▁▇▁▃ |\n|soc_d_7R |Social desirability item 7 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.13 |1.23 |1 |2 |3 |4 |5 |▂▇▁▅▁▆▁▅ |\n|soc_d_8 |Social desirability item 8 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.31 |1.33 |1 |2 |4 |4 |5 |▃▇▁▅▁▇▁▇ |\n|soc_d_9 |Social desirability item 9 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.48 |1.26 |1 |2 |4 |5 |5 |▂▅▁▆▁▇▁▇ |\n|soc_d_10R |Social desirability item 10 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.21 |1.2 |1 |2 |3 |4 |5 |▂▇▁▅▁▇▁▅ |\n|soc_d_11R |Social desirability item 11 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.08 |1.23 |1 |2 |3 |4 |5 |▂▇▁▆▁▇▁▅ |\n|soc_d_12 |Social desirability item 12 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.65 |1.1 |1 |3 |4 |4 |5 |▁▂▁▅▁▇▁▅ |\n|soc_d_13R |Social desirability item 13 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.2 |1.35 |1 |2 |3 |4 |5 |▅▇▁▇▁▇▁▇ |\n|soc_d_14R |Social desirability item 14 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |2.96 |1.3 |1 |2 |3 |4 |5 |▃▇▁▃▁▆▁▃ |\n|soc_d_15 |Social desirability item 15 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.64 |0.97 |1 |3 |4 |4 |5 |▁▂▁▃▁▇▁▃ |\n|soc_d_16 |Social desirability item 16 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.22 |1.14 |1 |2 |3 |4 |5 |▂▅▁▆▁▇▁▃ |\n|soc_d_17R |Social desirability item 17 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |2 |191 |193 |NA |NA |NA |NA |3.03 |1.25 |1 |2 |3 |4 |5 |▃▆▁▇▁▆▁▅ |\n|soc_d_18 |Social desirability item 18 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |4 |189 |193 |NA |NA |NA |NA |3.47 |1.3 |1 |3 |4 |5 |5 |▂▃▁▇▁▆▁▇ |\n|cond_anc |Anchoring condition |integer |0. Low anchoring value, - 1. High anchoring value |NA |1 |192 |193 |NA |NA |NA |NA |0.52 |0.5 |0 |0 |1 |1 |1 |▇▁▁▁▁▁▁▇ |\n|anc_everest |Anchoring: How high is Mount Everest |integer |NA |NA |12 |181 |193 |NA |NA |NA |NA |28134.86 |259715.18 |600 |3200 |8000 |11000 |3500000 |▇▁▁▁▁▁▁▁ |\n|anc_chicago |Anchoring: Population of Chicagor |numeric |NA |NA |12 |181 |193 |NA |NA |NA |NA |19.92 |185.67 |0.004 |1.5 |3.5 |7 |2500 |▇▁▁▁▁▁▁▁ |\n|anc_bebe |Anchoring: Babies born in US |integer |NA |NA |13 |180 |193 |NA |NA |NA |NA |68125.47 |163124.78 |40 |1000 |20000 |50000 |1e+06 |▇▁▁▁▁▁▁▁ |\n|mc_1 |Manipulation check, question 1: 'Do you remember the consent you signed in the beginning?' |integer |1. Yes, - 0. No |NA |4 |189 |193 |NA |NA |NA |NA |0.98 |0.14 |0 |1 |1 |1 |1 |▁▁▁▁▁▁▁▇ |\n|mc_2 |Manipulation check, question 2: 'Do you remember if the consent contained the topic of sharing anonymous data with others?' |integer |1. Yes, - 0. No |NA |3 |190 |193 |NA |NA |NA |NA |0.74 |0.44 |0 |0 |1 |1 |1 |▃▁▁▁▁▁▁▇ |\n|mc_3 |Manipulation check, question: 'Will your anonymous data be shared with others?' |integer |1. Yes, - 0. No |NA |5 |188 |193 |NA |NA |NA |NA |0.56 |0.5 |0 |0 |1 |1 |1 |▆▁▁▁▁▁▁▇ |\n|remarks |Observer remarks |character |NA |NA |0 |193 |193 |168 |26 |0 |95 |NA |NA |NA |NA |NA |NA |NA |NA |\n|Extraversion |8 bf items aggregated by rowMeans |numeric |NA |bf_1, bf_6R, bf_11, bf_16, bf_21R, bf_26, bf_31R, bf_36 |5 |188 |193 |NA |NA |NA |NA |3.34 |0.92 |1.12 |2.62 |3.25 |4 |5 |▁▂▇▇▆▇▆▅ |\n|Agreeableness |10 bf items aggregated by rowMeans |numeric |NA |bf_2R, bf_7, bf_12R, bf_17, bf_22, bf_27R, bf_32, bf_37R, bf_42, bf_45R |4 |189 |193 |NA |NA |NA |NA |3.88 |0.59 |1.9 |3.5 |3.9 |4.3 |5 |▁▁▂▅▇▇▇▂ |\n|Conscientiousness |9 bf items aggregated by rowMeans |numeric |NA |bf_3, bf_8R, bf_13, bf_18R, bf_23R, bf_28, bf_33, bf_38R, bf_43R |4 |189 |193 |NA |NA |NA |NA |3.25 |0.58 |1.78 |2.89 |3.22 |3.56 |4.56 |▂▂▃▇▇▅▃▂ |\n|Neuroticism |8 bf items aggregated by rowMeans |numeric |NA |bf_4, bf_9R, bf_14, bf_19, bf_24R, bf_29, bf_34R, bf_39 |2 |191 |193 |NA |NA |NA |NA |2.95 |0.88 |1.25 |2.12 |2.88 |3.62 |4.75 |▂▇▃▇▆▅▃▃ |\n|Openness to experience |10 bf items aggregated by rowMeans |numeric |NA |bf_5, bf_10, bf_15, bf_20, bf_25, bf_30, bf_35R, bf_40, bf_41R, bf_44 |7 |186 |193 |NA |NA |NA |NA |3.61 |0.6 |1.9 |3.2 |3.7 |4 |4.9 |▁▂▃▆▅▇▅▁ |\n|Heteroduperie - Social Desirability |18 soc_d items aggregated by rowMeans |numeric |NA |soc_d_1, soc_d_2R, soc_d_3, soc_d_4R, soc_d_5R, soc_d_6, soc_d_7R, soc_d_8, soc_d_9, soc_d_10R, soc_d_11R, soc_d_12, soc_d_13R, soc_d_14R, soc_d_15, soc_d_16, soc_d_17R, soc_d_18 |6 |187 |193 |NA |NA |NA |NA |3.21 |0.6 |1.78 |2.81 |3.22 |3.61 |4.89 |▁▃▆▇▇▃▁▁ |\n\n### Note\nThis dataset was automatically described using the [codebook R package](https://rubenarslan.github.io/codebook/) (version 0.8.1).",
"identifier": "https://dx.doi.org/10.17605/OSF.IO/X25D3",
"creator": "Julia C. Eberlen, Emmanuel Nicaise, Sarah Leveaux, Youri L. Mora, Olivier Klein",
"citation": "Eberlen, J. C., Nicaise, E., Leveaux, S., Mora, Y., & Klein, O. (2019, August 5). Impact of Data sharing: Data collected offline. https://doi.org/10.17605/OSF.IO/X25D3",
"datePublished": "2019-08-05",
"temporalCoverage": "2018-12-03 to 2018-12-17",
"spatialCoverage": "Campus Solbosch, Universite libre de Bruxelles, Brussels, Belgium",
"keywords": ["V1", "id", "participant", "gender", "acad_status", "age", "refused", "reason", "consent", "bf_1", "bf_2R", "bf_3", "bf_4", "bf_5", "bf_6R", "bf_7", "bf_8R", "bf_9R", "bf_10", "bf_11", "bf_12R", "bf_13", "bf_14", "bf_15", "bf_16", "bf_17", "bf_18R", "bf_19", "bf_20", "bf_21R", "bf_22", "bf_23R", "bf_24R", "bf_25", "bf_26", "bf_27R", "bf_28", "bf_29", "bf_30", "bf_31R", "bf_32", "bf_33", "bf_34R", "bf_35R", "bf_36", "bf_37R", "bf_38R", "bf_39", "bf_40", "bf_41R", "bf_42", "bf_43R", "bf_44", "bf_45R", "cr_1", "cr_2", "cr_3", "cr_4", "cr_5", "cr_6", "cr_7", "soc_d_1", "soc_d_2R", "soc_d_3", "soc_d_4R", "soc_d_5R", "soc_d_6", "soc_d_7R", "soc_d_8", "soc_d_9", "soc_d_10R", "soc_d_11R", "soc_d_12", "soc_d_13R", "soc_d_14R", "soc_d_15", "soc_d_16", "soc_d_17R", "soc_d_18", "cond_anc", "anc_everest", "anc_chicago", "anc_bebe", "mc_1", "mc_2", "mc_3", "remarks", "Extraversion", "Agreeableness", "Conscientiousness", "Neuroticism", "Openness to experience", "Heteroduperie - Social Desirability"],
"@context": "http://schema.org/",
"@type": "Dataset",
"variableMeasured": [
{
"name": "V1",
"@type": "propertyValue"
},
{
"name": "id",
"@type": "propertyValue"
},
{
"name": "participant",
"@type": "propertyValue"
},
{
"name": "gender",
"description": "Reported gender information",
"value": "1. Female,\n2. Male",
"maxValue": 2,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "acad_status",
"description": "Academic status",
"value": "0. other,\n1. bachelor,\n2. master,\n3. PhD,\n4. other",
"maxValue": 4,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "age",
"description": "Age Group",
"value": "1. 18-29 yo,\n2. 21-25 yo,\n3. 26-30 yo,\n4. 31-35 yo,\n5. 36-40 yo,\n6. 41-50 yo,\n7. 51-60 yo,\n8. 61-70 yo,\n9. 71-80 yo,\n10. 81-110 yo",
"maxValue": 10,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "refused",
"description": "Refused participation after consent",
"value": "0. No,\n1. Yes",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "reason",
"description": "Reason for refusal",
"value": "0. Not refused,\n1. Data sharing,\n2. Not enough time,\n3. Other",
"maxValue": 3,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "consent",
"description": "Data sharing policy in consent",
"value": "A. Data will be shared,\nB. Data will not be shared",
"maxValue": "B",
"minValue": "A",
"@type": "propertyValue"
},
{
"name": "bf_1",
"description": "Big 5 Extraversion item 1",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_2R",
"description": "Big 5 Agreeableness item 2",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_3",
"description": "Big 5 Conscientiousness item 3",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_4",
"description": "Big 5 Neuroticism item 4",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_5",
"description": "Big 5 Openness to experience item 5",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_6R",
"description": "Big 5 Extraversion item 6",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_7",
"description": "Big 5 Agreeableness item 7",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_8R",
"description": "Big 5 Conscientiousness item 8",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_9R",
"description": "Big 5 Neuroticism item 9",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_10",
"description": "Big 5 Openness to experience item 10",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_11",
"description": "Big 5 Extraversion item 11",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_12R",
"description": "Big 5 Agreeableness item 12",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_13",
"description": "Big 5 Conscientiousness item 13",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_14",
"description": "Big 5 Neuroticism item 14",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_15",
"description": "Big 5 Openness to experience item 15",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_16",
"description": "Big 5 Extraversion item 16",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_17",
"description": "Big 5 Agreeableness item 17",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_18R",
"description": "Big 5 Conscientiousness item 18",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_19",
"description": "Big 5 Neuroticism item 19",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_20",
"description": "Big 5 Openness to experience item 20",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_21R",
"description": "Big 5 Extraversion item 21",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_22",
"description": "Big 5 Agreeableness item 22",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_23R",
"description": "Big 5 Conscientiousness item 23",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_24R",
"description": "Big 5 Neuroticism item 24",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_25",
"description": "Big 5 Openness to experience item 25",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_26",
"description": "Big 5 Extraversion item 26",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_27R",
"description": "Big 5 Agreeableness item 27",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_28",
"description": "Big 5 Conscientiousness item 28",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_29",
"description": "Big 5 Neuroticism item 29",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_30",
"description": "Big 5 Openness to experience item 30",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_31R",
"description": "Big 5 Extraversion item 31",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_32",
"description": "Big 5 Agreeableness item 32",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_33",
"description": "Big 5 Conscientiousness item 33",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_34R",
"description": "Big 5 Neuroticism item 34",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_35R",
"description": "Big 5 Openness to experience item 35",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_36",
"description": "Big 5 Extraversion item 36",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_37R",
"description": "Big 5 Agreeableness item 37",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_38R",
"description": "Big 5 Conscientiousness item 38",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_39",
"description": "Big 5 Neuroticism item 39",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_40",
"description": "Big 5 Openness to experience item 40",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_41R",
"description": "Big 5 Openness to experience item 41",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_42",
"description": "Big 5 Agreeableness item 42",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_43R",
"description": "Big 5 Conscientiousness item 43",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_44",
"description": "Big 5 Openness to experience item 44",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_45R",
"description": "Big 5 Agreeableness item 45",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_1",
"description": "Careless response item 1",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_2",
"description": "Careless response item 2",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_3",
"description": "Careless response item 3",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_4",
"description": "Careless response item 4",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_5",
"description": "Careless response item 5",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_6",
"description": "Careless response item 6",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_7",
"description": "Careless response item 7",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_1",
"description": "Social desirability item 1",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_2R",
"description": "Social desirability item 2",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_3",
"description": "Social desirability item 3",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_4R",
"description": "Social desirability item 4",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_5R",
"description": "Social desirability item 5",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_6",
"description": "Social desirability item 6",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_7R",
"description": "Social desirability item 7",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_8",
"description": "Social desirability item 8",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_9",
"description": "Social desirability item 9",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_10R",
"description": "Social desirability item 10",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_11R",
"description": "Social desirability item 11",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_12",
"description": "Social desirability item 12",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_13R",
"description": "Social desirability item 13",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_14R",
"description": "Social desirability item 14",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_15",
"description": "Social desirability item 15",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_16",
"description": "Social desirability item 16",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_17R",
"description": "Social desirability item 17",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_18",
"description": "Social desirability item 18",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cond_anc",
"description": "Anchoring condition",
"value": "0. Low anchoring value,\n1. High anchoring value",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "anc_everest",
"description": "Anchoring: How high is Mount Everest",
"@type": "propertyValue"
},
{
"name": "anc_chicago",
"description": "Anchoring: Population of Chicagor",
"@type": "propertyValue"
},
{
"name": "anc_bebe",
"description": "Anchoring: Babies born in US",
"@type": "propertyValue"
},
{
"name": "mc_1",
"description": "Manipulation check, question 1: 'Do you remember the consent you signed in the beginning?'",
"value": "1. Yes,\n0. No",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "mc_2",
"description": "Manipulation check, question 2: 'Do you remember if the consent contained the topic of sharing anonymous data with others?' ",
"value": "1. Yes,\n0. No",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "mc_3",
"description": "Manipulation check, question: 'Will your anonymous data be shared with others?'",
"value": "1. Yes,\n0. No",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "remarks",
"description": "Observer remarks",
"@type": "propertyValue"
},
{
"name": "Extraversion",
"description": "8 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Agreeableness",
"description": "10 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Conscientiousness",
"description": "9 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Neuroticism",
"description": "8 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Openness to experience",
"description": "10 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Heteroduperie - Social Desirability",
"description": "18 soc_d items aggregated by rowMeans",
"@type": "propertyValue"
}
]
}`